package com.heima.wemedia.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.heima.model.common.dtos.PageResponseResult;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.wemedia.dtos.CheckNewDto;
import com.heima.model.wemedia.dtos.NewsDto;
import com.heima.model.wemedia.dtos.WmNewsDto;
import com.heima.model.wemedia.dtos.WmNewsPageReqDto;
import com.heima.model.wemedia.pojos.WmNews;

/**
 * @Author: JW
 * @Description: TODO
 * @DateTime: 2022-02-11 20:45
 **/
public interface WmNewsService extends IService<WmNews> {
    /**
     * @Author: JW
     * @Description:  TODO 多条件查询
     * @Date: 20:49 2022-02-11
     * @Param: [wmNewsPageReqDto]
     * @return: com.heima.model.common.dtos.ResponseResult
    **/
    ResponseResult getList(WmNewsPageReqDto wmNewsPageReqDto);

    /**
     * @Author: JW
     * @Description:  TODO 发布文章 && 修改文章
     * @Date: 22:05 2022-02-11
     * @Param: [wmNewsDto]
     * @return: com.heima.model.common.dtos.ResponseResult
    **/
    ResponseResult submitNews(WmNewsDto wmNewsDto);

    /**
     * @Author: JW
     * @Description:  TODO 上下架
     * @Date: 20:34 2022-02-17
     * @Param: [wmNewsDto]
     * @return: com.heima.model.common.dtos.ResponseResult
    **/
    ResponseResult downOrUp(WmNewsDto wmNewsDto);

    /**
     * @Author: JW
     * @Description:  TODO 查询
     * @Date: 21:33 2022-02-18
     * @Param: [wmNewsDto]
     * @return: com.heima.model.common.dtos.PageResponseResult
    **/
    PageResponseResult find(NewsDto newsDto);

    /**
     * @Author: JW
     * @Description:  TODO 驳回（文章审核不通过）
     * @Date: 11:26 2022-02-19
     * @Param: [checkNewDto]
     * @return: com.heima.model.common.dtos.ResponseResult
    **/
    ResponseResult authFail(CheckNewDto checkNewDto);

    /**
     * @Author: JW
     * @Description:  TODO 通过（文章审核通过）
     * @Date: 11:36 2022-02-19
     * @Param: [checkNewDto]
     * @return: com.heima.model.common.dtos.ResponseResult
    **/
    ResponseResult authPass(CheckNewDto checkNewDto);

    /**
     * @Author: JW
     * @Description:  TODO 查看单个文章
     * @Date: 14:50 2022-02-19
     * @Param: [id]
     * @return: com.heima.model.common.dtos.ResponseResult
    **/
    ResponseResult getOneNews(Integer id);
}
